A barcode label comprises a series of parallel dark bars of varying widths with intervening light spaces, also of varying widths. The information encoded in the barcode is represented by the specific sequence of bar and space widths, the precise nature of this representation depending on the particular barcode symbology in use.
Barcode reading methods typically comprise the generation of an electronic signal wherein signal voltage alternates between two preset voltage levels, one representative of the dark bars and the other representative of the light spaces. The temporal widths of these alternating pulses of high and low voltage levels correspond to the spatial widths of the bars and spaces. The temporal sequence of alternating voltage pulses of varying widths comprising the electronic signal is presented to an electronic decoding apparatus for decoding of the information encoded in the barcode.
A variety of common and well developed methods exist for generating the electronic signal by converting the spatial bar/space sequences into temporal high/low voltage sequences, i.e., barcode reading. Common types of barcode readers include spot scanners and line scanners.
Spot scanners comprise barcode reading systems wherein a source of illumination, the reading spot, is moved (i.e., scanned) across the barcode while a photodetector monitors the reflected or backscattered light. In one type of spot scanner system, typically referred to as a wand reader, the reading spot of the scanner is manually moved across the barcode. In another type of spot scanner system the reading spot of the scanner is automatically moved across the barcode in a controlled pattern. In any of the spot scanner systems, the path followed by the scanned illumination beam is typically referred to as a scan line.
The illumination source in spot scanners is typically a coherent light source (such as a laser), but may comprise a non-coherent light source (such as a light emitting diode). A laser illumination source, however, offers the advantage of high intensity illumination over a small area which may allow barcodes to be read over a large range of distances from the barcode scanner (large depth of field) and under a wide range of background illumination conditions. The photodetector associated with spot scanners may generate a high current when a large amount of light scattered from the barcode impinges on the detector, as from a light space, and likewise may produce a lower current when a small amount of light scattered from the barcode impinges on the photodetector, as from a dark bar.
In automatic spot scanning systems, a scanning mechanism, or scan engine, is utilized to automatically scan the illumination beam across the barcode. Such scanning mechanism may comprise a rotating mirror facet wheel, a dithering mirror, or other means for repetitively moving the illumination beam.
In addition to a scan engine, a barcode scanner may also employ a set of scan pattern generating optics to produce a multiplicity of scan lines in various directions from the scanner and at varying orientations, thereby allowing barcodes to be read over a large angular field of view and over a wide range of orientations (i.e., a multi-dimensional scan pattern). The scan pattern generating optics typically comprise a set of mirrors aligned at varying angles, each of which intercepts the illumination beam during a portion of its motion and projects it into the region in front of the barcode scanner, hereinafter referred to as the scan volume. Each mirror in the set, in conjunction with the scan engine, produces a scan line at a particular position and at a particular orientation.
Early prior art spot scanner systems depended upon individual scan lines extending across the entire barcode for the barcode to be successfully read. These systems presented difficulties and inefficiencies in real-time, practical applications wherein the orientation of a barcode vis-a-vis the scanner was hard to control. Accordingly, specialized piecing mechanisms, comprising software or electronics, have been developed that are capable of taking partial portions of barcodes and assembling them into a complete code, a process commonly known as stitching. Further details regarding exemplary stitching methods and systems may be found in U.S. Pat. No. 5,493,108, entitled "Method and Apparatus for Recognizing and Assembling Optical Code Labels" and issued in the name of inventors Craig D. Cherry and Donald D. Dieball, which patent is owned by the owner of the present application and is hereby incorporated by reference as if fully set forth herein.
With respect to line scanner systems, an entire barcode is focused onto a multi-element linear or areal photodetector array and the image of the barcode is detected. The photodetector array may comprise a CCD array (charge coupled device), a CMOS active or passive pixel sensor array, or other multi-element photodetector array. This type of reader may also include a light source to illuminate the barcode to provide the required signal response corresponding to the image. The imaging optics which produce an image of the barcode on the photodetector array can alternatively be thought of as projecting an image of the photodetector array (a "virtual scan line") into the scan volume in a manner completely analogous to the real scan line produced by a spot scanner. Further, scan pattern generating optics may be used to project multiple virtual scan lines into the scan volume in various directions and at varying orientations, thereby generating a virtual scan pattern, once again completely analogous to the real scan pattern produced by a spot scanner. Virtual scan pattern systems are further described in U.S. Pat. No. 5,446,271, entitled "Omnidirectional Scanning Method and Apparatus" and issued in the name of inventors Craig D. Cherry and Robert J. Actis, which patent is owned by the owner of the present application and is hereby incorporated by reference as if fully set forth herein.
Regardless of which of the barcode readers described in the preceding paragraphs is used, a raw electronic signal is generated from which the relative widths of the bars and spaces must be extracted. High-to-low or low-to-high transitions (i.e., edges) in the electronic signal voltage may be detected by any of a number of means well known in the art. A common and well known technique for edge detection is second derivative signal processing, wherein zero crossings of the second derivative of the electronic signal are found during selected timing intervals. An example of this technique is described in U.S. Pat. No. 4,000,397 entitled "Signal Processor Method and Apparatus" issued in the name of Hebert et al. and owned by the owner of the present application, which patent is hereby incorporated by reference as if fully set forth herein.
Under high signal-to-noise ratio conditions, previous edge detection systems may perform satisfactorily; however, under certain conditions, and particularly under low signal-to-noise ratio conditions, the instant inventors have found that several weaknesses may become apparent. In this latter regard, as a result of the first derivative signal and the second derivative signal being generated sequentially within the signal processor, there may be an inherent temporal offset between peaks of the first derivative signal and the zero crossings of the second derivative signal. For large signals, the temporal offset between the first derivative signal and the second derivative signal may not significantly impair the ability of the signal processor to detect edges in the raw input signal. As signal levels decrease, however, the usable dynamic range of the signal processor may be limited by the temporal offset between the first derivative signal and the second derivative signal, rather than by the noise of the raw input signal.
Various techniques have been suggested in order to minimize the temporal offset between the first derivative signal and the second derivative signal. For example, the signal processors may be implemented with a passive high pass filter designed with a relatively high cutoff frequency. Such high cutoff frequencies result, however, in significant reduction in the gain of the second differentiator and, hence, lower signal-to-noise ratio for the second derivative signal. As well, high cutoff frequencies may also result in reduced accuracy in detecting zero crossings of the second derivative signal, and in impaired edge detection capability of the signal processor.
Alternatively, the signal processors may employ separate filter networks to implement the second differentiation so as to minimize temporal offset. Such implementation, however, adds group delay distortion to the overall signal processor system which results in delay which is dependent upon data frequency. Under such circumstances, the detection of an edge position is affected by the presence of other nearby edges; the effect being most pronounced for edges which are close to each other in time. Accordingly, the interference may lead to increasingly inaccurate edge positions for relatively narrow bars and spaces.
Low signal conditions may arise under a variety of circumstances. In a spot scanner, the strength of the signal depends directly on the intensity of the illumination source and the efficiency of the signal collection optics. In line scanners the intensity of the illumination source and efficiency of the collection optics also determine the signal level. The signal level is particularly low in line scanners utilizing only ambient illumination. In either type of scanner, positioning the barcode out of the optimum depth of field of the scanner results in blurring of the electronic signal. The overall signal levels may not decrease very much, but the transitions in the input signal are "softer" (i.e., more gradual). This leads to smaller peaks and smaller signal-to-noise ratio in the first derivative signal and the second derivative signal. Relative tilt between a barcode and a line scanner with rectangular detector elements leads to input signals similar to those produced by blurring.
It has been suggested that these and other low signal conditions may be improved in existing scanners in a variety of ways, including but not limited to: using higher power illumination sources; enlarging the depth of field of the scanner; and/or using square detector elements in a multi-element detector array. However, these solutions may undesirably result in, inter alia, increased size, power consumption, complexity, and/or cost of the barcode scanner in question, and/or in degradation of one or more of the performance parameters or characteristics of the barcode scanner.